package com.gf.framework.common.model.user;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.bson.types.ObjectId;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class UserLoginInfo implements Serializable {
    /**
     * 用户id
     */
    private Long id;

    /**
     * 内部员工
     */
    private EmployeeDTO employee;
    /**
     * 账号
     */
    private String account;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 性别 1：男 2 女 3 未知
     */
    private Integer gender;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 证件号码
     */
    private String idCard;

    /**
     *  系统
     */
    private Integer systemId;

    /**
     *  客户端
     */
    private Integer clientId;

    /**
     * 最后一次登录时间
     */
    private LocalDateTime lastLoginTime;


    /**
     * token 超时时间
     */
    private LocalDateTime tokenExpireTime;


    private String sessionId;

    private String token;

    @Data
    public static class EmployeeDTO implements Serializable {
        @ApiModelProperty("用户id")
        private ObjectId userId;

        @ApiModelProperty("用户名")
        private String userName;

        @ApiModelProperty("员工姓名")
        private String employeeName;

        @ApiModelProperty("员工类型")
        private Integer employeeType;

        @ApiModelProperty("邮箱")
        private String email;

        @ApiModelProperty("员工类型")
        private Long status;
    }
}
